#include "Parser/Parser.h"
using namespace std;

void SetParameters(ClassParameter& main){
  
  main = Parser::instance().add("My2DProblem");
  
  main.addString  ("MeshFileName","mesh.msh");
  main.addInteger ("NbThreads",1);
  main.addInteger ("Order",1);
  main.addToken   ("TimeScheme",7,"FE","RK22","RK33","RK44","SSP22","SSP32","SSP33","FE");
  main.addInteger ("NbStep",100);
  main.addDouble  ("TimeStep",0.01);
  main.addInteger ("OutputFrequency",10);
  
  main.addToken     ("InitialSol",5,"Smooth","ThreeBodyRotation","Burger","KPP","SineWave","SineWave");
  main.addToken     ("PDE",3,"LinearTransport","Burgers","KPP","LinearTransport");
  main.addToken     ("GraphLaplacian",2,"Yes","No","No");  
  main.addToken     ("NumericalFlux",2,"Upwind","Center","Upwind");
  main.addToken     ("LumpedMass",2,"Yes","No","No");  
  main.addStringList("Beta");

  main.addToken     ("BConditions",2,"Dirichlet","Periodic","Dirichlet");
  main.addIntegerList("BCTags");
  main.addStringList("BCValues");
  
  
  
  FILE* fpcheck = fopen("template.in","w");
  fprintf(fpcheck,"//-*- C++ -*-\n");
  Parser::instance().print(fpcheck);  
  fclose(fpcheck);
}
